package com.gqh.weather.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqh.weather.domain.dto.PaperListData;
import com.gqh.weather.domain.entity.Paper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * @description 试卷内容管理数据访问接口
 * @author AI
 * @date 2025-09-21
 */
@Mapper
public interface PaperMapper extends BaseMapper<Paper> {
    
    /**
     * 分页查询试卷列表（关联创建人信息）
     *
     * @param page       分页对象
     * @param createdBy  创建人ID
     * @param type       学科类型
     * @param ifPublish  发布状态
     * @param keyword    关键字
     * @return 分页结果
     */
    Page<PaperListData> selectPaperListWithCreator(
            Page<PaperListData> page,
            @Param("createdBy") Integer createdBy,
            @Param("type") Integer type,
            @Param("ifPublish") Integer ifPublish,
            @Param("keyword") String keyword
    );

    @Select("select pass_score from xy_paper where id = #{paperId}")
    int selectPassScoreById(Integer paperId);
}